package com.crt.nexus.core.constant;

@SuppressWarnings("unused")
public interface SecurityConstants {

    /**
     * issue url
     */
    String NS = "https://nexus.crt.com";

    /**
     * 编码
     */
    String DEFAULT_CHARSET = "UTF-8";

    /**
     * 错误消息
     */
    String ERROR = "error";

    /**
     * base64编码凭证前缀
     */
    String BASIC_ = "Basic ";

    /**
     * base64编码凭证名称
     */
    String BASIC = "basic";

    /**
     * bearer编码凭证前缀
     */
    String BEARER_ = "Bearer ";

    /**
     * bearer编码凭证名称
     */
    String BEARER = "bearer";

    /**
     * 未知属性
     */
    String UNKNOWN = "unknown";

    /**
     * 授权
     */
    String GRANT = "grant_type";

    /**
     * 密码模式
     */
    String GRANT_PASSWORD = "password";

    /**
     * 密码模式
     */
    String GRANT_REFRESH = "refresh_token";

    /**
     * 短信码模式
     */
    String GRANT_SMSCODE = "smscode";

    /**
     * {bcrypt} 加密的特征码
     */
    String BCRYPT = "{bcrypt}";

    /**
     * 资源服务器默认bean名称
     */
    String RESOURCE_SERVER_CONFIGURER = "resourceServerAuthenticationConfigurer";

    /**
     * Claims中授权key
     */
    String CLAIM_AUTHORITIES = "authorities";

    /**
     * Claims中权限范围key
     */
    String CLAIM_SCOPE = "scope";

    /**
     * Claims中用户名称key
     */
    String CLAIM_USERNAME = "username";

    /**
     * 角色前缀
     */
    String ROLE = "ROLE_";

    /**
     * 默认授权前缀
     */
    String SCOPE = "SCOPE_";

    /**
     * 用户名字段
     */
    String DETAILS_USERNAME = "username";

    /**
     * 内部标志
     */
    String FROM = "from";

    /**
     * 内部
     */
    String FROM_IN = "Y";

}
